One or more aspects of the present invention relate in general to data processing systems, and in particular, to securely removing system capabilities from a logical partition on a computer system.
Computing devices (such as desktop computers, laptop computers, server computers, and the like) typically include one or more system buses for connecting devices to the computing device. Some devices connect to computing devices via buses, such as the known universal serial bus, that enable the devices to be physically hot plugged. A device is able to be physically hot plugged if it can be physically connected to or disconnected from the bus during operation of the computing device without causing errors or damage to the computing device. Other devices connect to computing devices via buses, such as many implementations of the PCI (Peripheral Component Interconnect) bus, that might not enable the devices to be physically hot plugged. Connecting a PCI device to the PCI bus or disconnecting a PCI device from the PCI bus during operation of the computing device may cause errors in the computing device and may even physically damage the computing device.
Multifunction devices, i.e. devices that include multiple functions that are separately utilizable by a computing device, are known to implement the various functions with “virtual devices”. Because of being functional components of the device, virtual devices are not separately hot pluggable. If a multifunction device is physically hot plugged or unplugged, the virtual devices are all added and removed, respectively, along with the physical/actual device. If the multifunction device is not physically hot pluggable, the virtual devices of that multifunction device cannot be added or removed during operation of the computing device.
Although typical device lists and virtualized device lists enable adding and removing devices that are able to be physically hot plugged during operation of a computing device, they do not support adding or removing devices that are not able to be physically hot plugged. Typical device lists and virtualized device lists also do not enable virtually hot plugging devices (adding or removing devices for an operating system or virtualized operating system without physically connecting/disconnecting the devices from the respective bus) or hot plugging of virtual devices.